<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title>Baby Wants Milk</title>
	<style>
		.char-style {
			position: absolute;
			z-index: 2;
		}

		.status-style {
			position: absolute;
			font-size: 15px;
			top: 0px;
			z-index: 2;
			color: FireBrick;
		}

		.instructions-style {
			position: absolute;
			font-size: 15px;
			font-style: italic;
			top: 0px;
			z-index: 2;
			color: Navy;
		}

		.home-style {
			position: absolute;
			left: 0px;
			top: 0px;
			background-color: hsl(170, 45%, 59%);
			z-index: 1;
		}
	</style>
</head>
<body>
 <div id="home" class="home-style"></div>
 <div id="status" class="status-style">Level  </div>
 <div id="instructions" class="instructions-style">*** Take the Baby to Milk. Use Arrow Keys, Space and Enjoy ***</div>
 <audio id="audio-milk" preload="auto" src="assets/sounds/mixkit-retro-game-notification-212.wav"></audio>
 <audio id="audio-over" preload="auto" src="assets/sounds/mixkit-arcade-retro-game-over-213.wav"></audio>
</body>
</html>

<script>
let homePlans = [
    
    `
    ====================
    =      =    d      =
    =  b   =    =  m   =
    =      =    =      =
    =  =====    ===  ===
    =           d      =
    =      =    =      =
    =      =    =  c   =
    =      =    =      =
    ====================`,
    
    `
    ====================
    =e c         =淋    =
    =      =     =    t=
    =      =     ===d===
    =====  =           =
    =      =    =      =
    =d======    =====  =
    =     k=    = m    =
    =  b   =k   =      =
    ====================`,
    
    `
    --------------------
    -         xx-      -
    -f     -    -  -   -
    -----  -       -   -
    -      -----=====d==
    -z------    =      =
    -         m =  =====
    =============     k=
    =  b            c  =
    ====================`,
        
    `
    --------------------
    -  r       --萝     -
    -      -    -   -  -
    -----  -        - f-
    -      ---z---------
    -z------    -     m-
    -  b   -    -  -----
    -----  -    -     萝-
    - f    - r       ---
    --------------------`,

    `
    --------------------
    --hh    --m z  --萝 -
    -        -----  -  -
    -  -   -     -    r-
    - --  -=====d=     -
    -  -  =ef  c =蕉蕉   -
    -- -  ====   =---  -
    -  -   --=====-    -
    -k--x             b-
    --------------------`,
    
    `
    --------------------
    -xx          j k  --
    ------b a--------d-.
    -   ------        ..
    -          .  ......
    -  =======..  .k   .
    -  d     =.   ..   .
    -=====  ==  ...    .
    -=m  d  k=        g.
    ....................`,
    
    `
    ....................
    .a     j g...   肉...
    ..     .       ..  .
    .....  .-----g j   .
    .g  j   -m  -. ..  .
    .    .   -z-.. .   .
    .    ...--  .. . . .
    .f      虎   .. . . .
    ...         .a .b.a.
    ....................`,

    `
    +++++++++++++鲸++++++
    帆b       +++     +++
    +    贝             +
    ++++++++++    豚   ++
    +             +   热+
    ++++鲨  +++         +
    +        ++ 鱼      +
    +章   +++++++++     +
    +         m ++    宝+
    ++++++++++++++++++++`

    ];
    
let charText = {
    "=": "🧱",
    "-": "🌲",
    ".": "🎃",
    "+": "🌊",

    "b": "👶",

    "k": "🔑",
    "f": "🪓",
    "a": "💣",

    "j": "🧟",
    "d": "🚪",
    "z": "🚧",

    "c": "🪑",
    "m": "🍼",
    "t": "🚽",
    "淋": "🛁",
    "e": "🛏️",
    "帆": "⛵",

    "r": "🐇",
    "萝": "🥕",
    "h": "🐒",
    "蕉": "🍌",
    "虎": "🐅",
    "肉": "🥩",

    "豚": "🐬",
    "鲨": "🦈",
    "章": "🐙",
    "热": "🐠",
    "鱼": "🐟",
    "宝": "👑",
    "贝": "🐚",
    "鲸": "🐳",

    "x": "🌻",
    "g": "💀"
    
};

let sound = new Audio("data:audio/wav;base64,UklGRh5jAABXQVZFZm10IBAAAAABAAEARKwAAIhYAQACABAAZGF0YY5dAAAAAP//AAD//wAA//8AAAAAAAAAAAAA///////////+//3/+//7/////v8BAAAAAgABAAIABAAEAAAAAwD//wEA//8BAP//AgACAAIAAAAAAP/////6//r//v/8/////v8BAP//AQD//wcACwACAAMA/f/+//r//P/4//z/8v////b////4////+f/+//b/+//4//7//P8EAAAADwAHAAkAAgAFAP7/AAD6//3/+v/9/+//8P/9//f/AwD+/wgAAwAKAAcACgAEAAkABAAIAAQACAALAAwACAAIAAUAAgD+//D/7//6//f/AAD+/wUAAwAIAAUACQAGAB8ABwARAAYAFgD5/w0A7//3/9H/CgDU/wsA2/8MAOD/AQDf/wUA6P8IAPD/DAAHACoA+f8bAPT/DgDy//X/w/8bANP/IADe/wMA3/8xAPj/AwDy//j/6//1/+r/9v/x//3/+f8GAAwAFQANABQACwAPAAoA///X/ysA+f/+//f/+v/3//v/CwDN/w8ACgA2ADwAOwA0ADMAJwAjABkAFAAMAA0AAgABAPn/9//m/+z/5v///6P/FgDb/y8AFwA2ABcADwBQAOL////A/9b/pv/D/6L/v/+Y/6H/vf+9/9f/2P/t/+z//v/4/wMAAQAHAGUA5v9EANv/KADX/xkA7P+9/+v/AAASACQAPABBAFEAUABYAFMAVABMAEsAPABpAD4APwAmACMAFQD0/7X/LwDN/y4A2v8fAMP/AwAnALT/7v+f/87/lv/y/6j/1f+5/9b/uv/S/7z/0f/A/9P/xv/W/9L/x//y//D/yP/y/9H/9v/k/wkA9P+y/2AAAgCUADcAmwBEAI8APgB5AC8ANAAIADwACQAvAAUALgATACsAMQC8/0UABwBOABUAXQA/ADAAJABiAJr/EABv/9T/Zf+6/1r/oP9o/6//hv/F/6b/3/+8/y8A4/8bAOL/CwBlAMD/IACq//v/pv/y/8n/zP+X/04AzP81ACoAaQBQAH8AYAB+AFkAbABhAHEAVQBYAD0APAAiACkA8v96/xkAwv8xAOn/PQDy/xYASQAuAMv//f+i/87/jv+9/4P/8f+v/8j/pv++/6P/vf+s/8f/qP/E/5f/MQDa/9H/2P/M/9n/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");

let scale = Math.floor((document.body.clientWidth - 40) / 20);
let x = 0, y = 0;
let level = 0;

let home = document.getElementById("home");
home.style.width = `${20 * scale}px`;
home.style.height = `${10 * scale}px`;

let status = document.getElementById("status");
status.style.left = `${(document.body.clientWidth - status.offsetWidth) / 2}px`;

let homePlan, baby, nodeList = [], useKey, hasKey;

function createNode(text, left, top) {
    let node = document.createElement("div");
    node.textContent = text;
    node.style.fontSize = `${scale}px`;
    node.style.left = `${left * scale}px`;
    node.style.top = `${top * scale}px`;
    node.className = "char-style";
    node.id = `char-at-${left}-${top}`;
    return node;
}

function updateHome() {
    status.textContent = `Level: ${level + 1}`;
    homePlan = homePlans[level].trim().split("\n").map(line => {
        line = line.trim();
        return [...line] });
    useKey = false;

    for(let i = 0; i < homePlan.length; i++) {
        for(let j = 0; j < homePlan[i].length; j++) {
            let ch = homePlan[i][j];
            if(ch != " ") {
                let node = createNode(charText[homePlan[i][j]], j, i);
                document.body.appendChild(node);
                switch(homePlan[i][j]) {
                    case "b":
                        baby = node;
                        x = j;
                        y = i;
                        homePlan[i][j] = " ";
                        break;
                        
                    case "k":
                    case "f":
                    case "a":
                        useKey = true;
                        break;                  

                    
                }
            }
        }
    }
}

function cleanupHome() {
    let nodes = document.querySelectorAll(".char-style");
    for(let eachNode of nodes) {
        document.body.removeChild(eachNode);
    }
}

function showGameOver() {
    let over = document.createElement("div");
    over.style.position = "absolute";
    over.textContent = "🍼👶🍼 Good Job! 🍼👶🍼";
    over.style.fontSize = `${scale / 2}px`;
    over.style.left = `${document.body.clientWidth / 2 - (scale / 4 * 12)}px`;
    over.style.top = `${5 * scale}px`;
    over.style.width = `${scale / 2 * 12}px`;
    over.style.backgroundColor = "Wheat";
    over.style.zIndex = 4;
    
    document.body.appendChild(over);
}

function makeAction(r, c) {
    let node, flag = false;
    switch(homePlan[r][c]) {
        case "k":
        case "f":
        case "a":
            hasKey = true;
            node = document.getElementById(`char-at-${c}-${r}`);
            break;
        
        case "萝":
        case "蕉":
        case "肉":
        case "宝":
        case "贝":
            node = document.getElementById(`char-at-${c}-${r}`);
            break;
        
        case "d":
        case "z":
        case "j":
            if(!useKey || hasKey) {
                node = document.getElementById(`char-at-${c}-${r}`);
                hasKey = false;
            }


       
        break;
    }
    if(node) {
        node.parentNode.removeChild(node);
        homePlan[r][c] = " ";
        flag = true;
    }
}

function doSomeAction() {
    let flag = false;
    if(x > 0) {
        flag = makeAction(y, x - 1);
    }
    
    if(!flag && x < homePlan[y].length - 1) {
        flag = makeAction(y, x + 1);
    }
    
    if(!flag && y > 0) {
        makeAction(y - 1, x);
    }

    if(!flag && y < homePlan.length - 1) {
        makeAction(y + 1, x);
    } 
}

function removeElement(x, y) {
    console.log('To be removed', x, y);
    node = document.getElementById(`char-at-${x}-${y}`);
    if(node) {
        console.log('Removing node', x, y);
        node.remove();
    }
}

function runTheShow(event) {
    console.log(event.key, x, y);
    switch(event.key) {
        case "ArrowLeft": 
            if(x > 0 && " m".includes(homePlan[y][x - 1])) {
                x -= 1;
                baby.style.left = `${x * scale}px`;
            }
        break;
        case "ArrowRight":
            if(x < homePlan[y].length - 1 && " m".includes(homePlan[y][x + 1])) {
                x += 1;
                baby.style.left = `${x * scale}px`;
            }
        break;
        case "ArrowUp": 
            if(y > 0 && " m".includes(homePlan[y - 1][x])) {
                y -= 1;
                baby.style.top = `${y * scale}px`;
            }
        break;
        case "ArrowDown":
            if(y < homePlan.length - 1 && " m".includes(homePlan[y + 1][x])) {
                y += 1;
                baby.style.top = `${y * scale}px`;
            }
        break;

        case " ":
            doSomeAction();
        break;

        case "u":
            let lvl = prompt("Level:");
            let l = Number(lvl);
            if(l > 0 && l <= homePlans.length) {
                level = l - 1;
                cleanupHome();
                updateHome();
            } else {
                alert("No such level: " + lvl);
            }
    }
    if(homePlan[y][x] == "m") {
        if(level < homePlans.length - 1) {
            sound.play();
            level++;
            cleanupHome();
            updateHome();
        } else {
            sound.play();
            removeElement(x, y);
            showGameOver();
            window.removeEventListener("keydown", runTheShow);
        }
    }
    event.preventDefault();
}

window.addEventListener("keydown", runTheShow);

updateHome();

</script>
